Major design principles of modern applications are modularity, service orientation and elasticity. This leads to applications designed as a network of intercommunication service providers, which is dynamically adapted to changing application load conditions. The advantages of those design principles are highly flexible applications, both in terms of functionality and in terms of scalability.
In such architectures, the processing performed by a single processing node decreases, whereas the communication between different processing nodes increases to provide the desired application functionality.
As a consequence, the computer network connecting the computer systems that provide the services gains importance and becomes crucial for the performance behavior of the application.
Traditional server side performance monitoring systems, as e.g. described in U.S. Pat. No. 8,234,631 entitled “Method And System For Tracing Individual Transactions At The Granularity Level Of Method Calls Throughout Distributed Heterogeneous Applications Without Source Code Modifications” which is included in its entirety herein by reference, are capable to provide tracing and measurement data for individual transactions, but they fail to provide the visibility of the connecting computer network required to judge the performance situation of such massive distributed applications.
Additionally, there are network monitoring systems available which are capable to identify individual network communication transactions, like e.g. network activities related to request/response pairs created by communicating service provider application components. Those network monitoring systems are also capable to determine and report network conditions relevant for those individual network communication transactions. However, those systems are not capable to provide visibility of the server side processing as performed by the involved service provider components.
Current solutions to this problem include manual or semi-automated, timing based correlation of server side and network side tracing data and measurements. Due to the manual nature of this correlation process, the accuracy of the provided results is often insufficient and the process requires time consuming and often cumbersome human intervention.
Undisclosed field researches showed that monitoring systems that automatically integrate monitoring results from server and network side would dramatically reduce the average time to detect and fix performance degradations.
Besides such modern, service oriented applications, also traditional thin client/server oriented applications, like classical e-commerce applications consisting in a web server that provides content which is displayed by various client side web browsers could benefit from a combined server and network side monitoring system. For such applications, the visibility gap between monitoring systems reporting browser side activities as e.g. the system disclosed in U.S. patent application Ser. No. 13/722,026 entitled “Method And System For Tracing End-To-End Transaction, Including Browser Side Processing And End User Performance Experience” which is included in its entirety herein by reference, and server side monitoring systems would be closed.
Consequently, a method and system that overcomes the shortcomings of the current monitoring approaches and which is adequate for new service oriented application architectures is required.
This section provides background information related to the present disclosure which is not necessarily prior art